Directional input system with automatic correction

ABSTRACT

A system associated with a text entry application, such as email or instant messaging, comprises an optional onscreen representation of a circular keyboard, a list of potential linguistic object matches, and a message area where the selected words are entered. The circular keyboard is manipulated via a hardware joystick or game-pad with analog joystick or omni-directional rocker switch built therein. The user points the joystick in the general direction of the desired letter, and then continues pointing roughly to each letter in the desired word. Once all letters have been roughly selected, buttons are used to select a specific word from the list of potential matches and send the selected word to the message area.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a Continuation of U.S. Ser. No. 11/859,505 filedSep. 21, 2007, (now U.S. Pat. No. 7,778,818), which is a Continuation ofU.S. Ser. No. 10/677,890, (now U.S. Pat. No. 7,286,115), filed Oct. 1,2003, which claims the benefit of U.S. Ser. No. 60/461,735, filed Apr.9, 2003; all of which are herein incorporated in their entirety by thisreference thereto.

This application is a continuation-in-part of U.S. Ser. No. 10/205,950,(now U.S. Pat. No. 6,970,599), filed Jul. 25, 2002, which is aContinuation of U.S. Ser. No. 09/580,319, filed on May 26, 2000, (nowU.S. Pat. No. 6,801,190), which claims the benefit of U.S. Ser. No.60/136,613, filed May 27, 1999, all of which are herein incorporated intheir entirety by this reference thereto.

BACKGROUND OF THE INVENTION

1. Technical Field

This invention relates generally to input devices. More particularly,the invention relates to a directional input system with automaticcorrection.

2. Description of Related Arts

To operate a computing device, such as a computer, one or more inputdevices must be connected thereto. Since the early days of the computingage, the keyboard has been the primary input device for users to inputtextual messages into to computing devices. The textual messages may becommands for the computers to execute, or just plain data entry if he'susing a keyboard as an input device. However, the user must memorize thecorrect spelling and syntax of computer commands. Even if the user hasmemorized the correct spelling, the input of data with keyboard itselfcan be error prone. Hence, a graphical user interface (GUI) has beendeveloped for computing devices to reduce the use of keyboard. In a GUI,the user operates an alternative input device, such as a mouse,trackball, or joystick, to move around a cursor or pointer on thedisplay. Once the cursor is moved to the desired position, a button ispressed and released, and a corresponding computer command is thusexecuted. Although a GUI provides an alternative way to invoke computercommands, the keyboard continues to serve as the primary text entryinput device for computing devices.

Nevertheless, there are situations such as in console video-gamemachines or hand held devices with a joystick or joystub, where atraditional keyboard is neither available nor convenient. Currently, thetext entry method for these systems usually consists of scrollingthrough an alphabet or on-screen QWERTY keyboard. Another commonlyadopted navigation means in video-game machines provides users with apie menu, which is a circular menu that allows users choose items bydragging the pointing device in the direction of the menu item. To inputa word, the user must select each letter by scrolling through analphabet list, navigating through the pie menu, or locating it on theon-screen keyboard and click a selection button after each letter islocated.

The above text entry method has numerous disadvantages. For example: themethod is inefficient because the user has to spend time in locating theletter and confirming the letter; the method is inconvenient because itbreaks the normal typing flow when inserting clicks between letterselections; and the method is ineffective because the user could easilymistake an adjacent letter for the limited size of the on-screenkeyboard.

What is desired is an effective text entry input system using adirectional input means such as a joystick or trackball device. It isfurther desired that the text entry input system is intuitive and easyto operate. It is still further desired that the text entry input systemcan provide auto-correction of input mistakes.

SUMMARY OF THE INVENTION

The invention provides a directional input system associated with a textentry application, such as email or instant messaging. The systemcomprises an optional onscreen representation of a circular keyboard, alist of potential linguistic object matches, and a message area wherethe selected words are entered. The circular keyboard is manipulated viaa hardware joystick or game-pad having an analog joystick oromni-directional rocker switch built therein. The user points thejoystick in the general direction of the desired letter, and thencontinues pointing roughly to each letter in the desired word. Once allletters have been roughly selected, buttons or equivalent means are usedto select a specific word from the list of potential matches and to sendthe selected word to the message area.

In one preferred embodiment, the invention provides a text entry inputsystem which includes: (1) a directional selection means, plus one ormore buttons or equivalent user input means; (2) a list of linguisticobjects, organized by frequency of use; (3) an output device with a textdisplay area; and (4) a processor which includes an object searchengine, a distance or angular value calculation module, word module forevaluating and ordering words, and a selection component.

The directional selection means is used to point in the direction ofeach letter of a word. The processor calculates a distance or an angleto find letters and weight values for the letters in the pointingdirection with the distance or the angle calculation module, retrieves apredicted list of words based on the letters and weight values with theobject search engine, and evaluates and orders the predicted list ofwords with the word module. The selection component is used to select adesired word from the predicted list of words.

In another preferred embodiment, the invention provides a text entryinput method using a directional selection means. The method includesthe steps of:

-   -   The user moving a cursor on an on-screen keyboard in the        direction of a desired letter using the directional input means;    -   Recording the X-Y coordinate position of the cursor;    -   Converting the recorded X-Y coordinate position into the        corresponding set of polar coordinates;    -   Applying a selection weight value to each input based on the set        of polar coordinates of the recorded cursor position; and    -   Retrieving a list of predicted words from a vocabulary database        based on the weight value for each input and a plurality of        pre-determined values.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a directional input systemaccording to the invention;

FIG. 2 is a schematic diagram depicting an exemplary screen of thedisplay device corresponding to the directional input system of FIG. 1;

FIG. 3 is a schematic diagram depicting a preferred layout of anon-screen keyboard according to the invention;

FIG. 4A is a schematic view of a set of compass points according to oneembodiment of the invention;

FIG. 4B is a schematic view of a set of compass points around the wordselection list according to another embodiment of the invention;

FIG. 5 is a schematic view of an on-screen feedback of the directionalinput system according to the invention;

FIG. 6 is a flow diagram illustrating a process for precision input modeof the directional input system according to the invention; and

FIG. 7 is a flow diagram illustrating a process for operating thedirectional input system according to the invention.

DETAILED DESCRIPTION OF THE INVENTION

The invention provides a directional input system associated with a textentry application, such as email or instant messaging. The systemincludes an optional onscreen representation of a circular keyboard, alist of potential linguistic object matches, and a message area wherethe selected words are entered. The circular keyboard is manipulated viaa hardware joystick or game-pad having an analog joystick oromni-directional rocker switch built therein. The user points thejoystick in the general direction of the desired letter, and thencontinues pointing roughly to each letter in the desired word. Once allletters have been roughly selected, buttons or equivalent means are usedto select a specific word from the list of potential matches and sendthe selected word to the message area.

System Construction and Basic Operation

FIG. 1 is a block schematic diagram illustrating a directional inputsystem 100 incorporated in a home video game console machine accordingto the preferred embodiment of this invention. The input system 100includes an analog joystick 110 having one or more buttons, a vocabularymodule 150 which stores a collection of linguistic objects, a displaydevice 120 having a text display area, and a processor 140. Theprocessor 140, which connects the other components together, furtherincludes an object search engine 142, a distance calculation module 144for calculating distance value, a word (linguistic object) module 146for evaluating and ordering words, and a selection component 148. Thesystem 100 may further include an optional on-screen representation of akeyboard 130 showing on the display device 120.

The joystick 110 serves as a directional selection input device, whichprovides a possibility of directional input with a sufficient precision,preferably 10° or more precise. It is preferable that the defaultposition of the cursor, if it is shown, is at the center of the circleof letters. It is possible to use a joystick device to navigate in twodimensions an on-screen “QWERTY” or “ABC” keyboard, either in thestandard rectangular form or in a circular layout. It is also possibleto navigate through multiple concentric rings of characters. It is thegoal of this invention, however, to depend only on the joystick in itscenter/resting position and its non-centered (or perimeter) positions,i.e. using the radial direction rather than the specific degree of tilt.

As soon as a direction has been established by some degree of tilt fromthe center, the input may be registered and recorded. It may still bebeneficial to the user, however, to allow the direction to be alteredslightly before recording it. Therefore, the last effective direction isonly recorded after the joystick is returned to its resting position inthe preferred embodiment of the invention.

Although analog joystick is described as the preferred directionalselection device, any input device that provides the possibility ofdirectional input with a sufficient precision can be used. For examples:omni-directional rocker switch, thumbstick, e.g. IBM TrackPoint™,touchpad, touchscreen, touchscreen and stylus combination, trackball,eye tracking device, trapped-disk sliding switch, steering wheel, AppleiPod™ Navigation Wheel, or Sony's Jog-dial and data glove, e.g. oldNintendo Game Glove, can be used as alternative.

The joystick input device preferably has eight buttons. However, it mayonly have one button, or any other number of buttons. Note that thestick itself does not usually have that many buttons despite the factthat the joystick base or enclosing game controller may have. A 4-waydirectional hat switch or jog-dial may be used to support multiplefunctions, both for character input and for secondary navigation. Inaddition, a joystick may be pressed straight down (z-axis) to provide anadditional button.

These buttons provide a mechanism for explicit commands to the system.One of the buttons may invoke a menu which contains additional commands.Another button may change the set of characters which may be selectedvia the directional input.

In an alternate embodiment, a second joystick or omni directional rockerswitch is used to invoke some of the explicit commands of the system.For example, tilting the joystick up and down scrolls through the wordchoices and tilting it to the right extends the current word with achoice of suffixes.

The linguistic objects that are stored in the vocabulary module 150include but not limit to: words, phrases, abbreviations, chat slang,emoticons, user IDs, URLs, non-English (such as Chinese or Japanese)characters. Although words are used in the preferred embodiments, anyother linguistic objects are equally applicable. Similarly, although theterm “letter” or “character” is used in the preferred embodiment, othersub-word components from Non-English languages, e.g. strokes,radicals/components, jamos, kana, plus punctuation symbols and digits,are equally applicable.

The list of predicted words is ordered in accordance with a linguisticmodel, which may include one or more of: frequency of occurrence of aword in formal or conversational written text; frequency of occurrenceof a word when following a preceding word or words; proper or commongrammar of the surrounding sentence; application context of current wordentry; and recency of use or repeated use of the word by the user orwithin an application program.

FIG. 2 is a schematic diagram depicting an exemplary screen of thedisplay device 120 corresponding to the directional input system 100 ofFIG. 1. The screen includes an on-screen keyboard 130 and a text displayarea 210. As mentioned above, the on-screen keyboard 130 is optionalbecause if the alphabets are printed around the joystick device, theon-screen keyboard component would be unnecessary.

The on-screen keyboard area can take a variety of shapes, including butnot limited to circle, square, oval and polygon with any number ofsides. The visual representation is typically, but not limited to, atwo-dimensional plane figure.

The on-screen keyboard 130 may be enhanced by, or even replaced with, aset of compass point letters, which are ‘A’, ‘H’, ‘N’ and ‘U’. Compasspoint letters can be placed in a separate compass area on screen asshown in FIG. 4A. They can also be placed around the word selection listas shown in FIG. 4B. These compass pointer letters can also be placed inan interactive pointer/cursor on screen or even around the joystickdevice 110.

The letters in the on-screen keyboard 130 can be arranged in any orderor

orientation. In the preferred layout as shown in FIG. 2, all lettershave their bottoms towards the center of the ring. In an alternativelayout, all letters may be upright. In the preferred layout as shown inFIG. 2, the letters are ordered alphabetically. In an alternativelayout, the letters may follow the Dvorak order. In the preferred layoutas shown in FIG. 2, the letters start at the 12 o'clock position. In analternative layout, the letters may start at the 9 o'clock location.Alternatively, the letters may have a moving starting position in arotating keyboard in an embodiment, for example, where the input deviceis a type of wheel. In the preferred layout as shown in FIG. 2, theletters are placed clockwise in the character ring. In an alternatelayout, the letters may be placed counterclockwise. In the preferredembodiment as shown in FIG. 2, letters occupy different amount ofradians depending upon their frequency of use in the language, givingmore frequent letters a larger target area.

Likewise, the digits can be arranged in any order or orientation. In thepreferred embodiment as shown in FIG. 3, the digits would be locatedadjacent to the series of letters assigned to the corresponding digitkeys on a telephone keypad.

The on-screen keyboard 130 may include letters of a primary inputlanguage, letters of alternate input languages (and/or accentedletters), digits, and punctuation symbols. The keyboard may also includecharacter components for pictographic languages, diacritics and other“zero-width” characters that attach to preceding characters. Thekeyboard may further include tone marks, bi-directional characters,functions indicated by a word or symbol, and symbolic representation ofa set of characters such as “Smart Punctuation” as described below.

The preferred primary text input keyboard as shown in FIG. 3 includesunaccented letters which form an outer ring, digits which form an innerring, and a symbol or an indicator between the letters “z” and “a”,called “Smart Punctuation”, which intuitively determines whichpunctuation is most appropriate based on the word context.

There may be auditory and/or visual feedback on each joystick movementor button press. For example, as soon as the joystick direction isregistered, a solid or gradient-fill pie wedge shape could appear on thekeyboard, centered on the current direction of tilt. Further, the widthof that pie wedge could narrow in proportion to the tilt of the joysticktowards the perimeter. The pie wedge could remain momentarily after thejoystick is returned to its center/resting position. The pie wedgeprovides a visual cue that the tilt of the joystick was registered andreinforces the notion that each action represents a range of possibleletters. FIG. 5 depicts a visual feedback for a joystick movement. Thesolid pie wedge 502 on the keyboard 302 shows the current direction ofthe joystick and the range of letters in that direction.

Referring back to FIG. 2, the text display area 210 includes a wordchoice list region 224 and a message area 220. The word choice list is alist of words that the system predicts as likely candidates based on thecharacters entered by ambiguous directional input.

The most likely word is a default word. The user can either accept thedefault word with one action, or select an alternate word with acombination of actions.

The exact spelling sequence of exact characters coincidentally selectedby the user is also displayed. Preferably, the spelling sequence isdisplayed in a separate area above or below the word choice list.Alternatively, it may be displayed as an entry in the word choice list,typically the first line or the last line. In FIG. 2, the exact spellingsequence 222 is displayed above the word choice list 224.

The last letter entered is also indicated both on the on-screen keyboardand in the exact spell sequence, by some method including but notlimited to font change, color change, reverse video or alternatebackground color, underline, bold face or italics, and outline. Exampleof outline can be a box or a circle.

All the words on the word choice list, other than the exact spellingsequence at the time when the exact spelling sequence is displayed asthe first or last entry, are ordered by a combination of the shortestcalculated distances between the joystick entry sequence and each letterin each word and the recency of use and/or the frequency of use withinthe given language.

The directional input system 100 implements a method whereby the usercan select a specific word from the word choice list. Preferably, themethod is consistent with other applications use of scrolling methodsand selection button. The system also includes a means of selecting theexact spelling sequence as well as any predicted words. In one preferredembodiment, the system may include a next button and a previous button,with which the user can navigate forward and backward through the wordchoice list.

Alternatively, the directional input system 100 may include a selectionmode switch button. When the selection mode switch button is pressed,the system enters a selection mode and the directional input means canbe used to scroll forward and backward through the word choice list.

In addition, selecting a predicted word using a particular means mayreplace the exact spelling sequence as if the letters of the selectedword had been entered directly by the user, and a new list of predictedwords is generated.

The most likely word is the word added if the user does not try toselect a different word. The default word may be a copy of the exactspelling sequence if the user was accurate. Alternatively, it may be theselected word as described above. In addition, the exact spellingsequence may become the default word if a precision method or mode(described below) is used to explicitly choose at least one letter inthe sequence.

Words that are longer than the number of joystick actions registered inthe current entry sequence may be included in the prediction list.Alternately, a further means can be provided to extend a selected wordwith completions. For example, longer words that begin with a selectedword may appear on a pop-up list after a button press or directionalinput, similar to the cascading menus on PC windowing systems.

Once a word is entered, the word is typically displayed in the messagearea 220.

Alternatively, the directional input system 100 can be implemented as aninput method editor (IME). In this case, the text entered by the systemgoes into whatever program is actively accepting input from the system.Other applications may be linked to the system, or the system may beincorporated as part of another application. These applications includebut are not limited to: instant messaging, electronic mail, chatprograms, web browsing, communication within a video game, supplyingtext to a video game, as well as word processing.

To enter a text message using the directional input system 100, the userfirst points the joystick in the general direction of the desiredletter, and then continues pointing roughly to each letter in thedesired word. Once all letters have been roughly selected, buttons areused to select a specific word from the list of potential matches. Theselected word goes into the message area 220, which may be anappropriate text application such as email or instant message.

The invention also provides a method for precisely choosing the lettersof a word. The method is useful for entering uncommon names and any wordthat is not part of the standard language currently active. The methodcan also be used to change the last character entered by steppingbetween characters adjacent to the last character entered. To stepbetween characters adjacent to the last character entered, a forwardbutton and a backward button may be used. Once the character entered hasbeen changed, the word choice list refreshes to reflect the changes inthe predicted words. Alternatively, the system may be switched to aprecision mode and the directional input means may be used to cyclethrough letters. To switch to the precision mode, the system may chooseto use the degree of joystick tilt from the center. Once the tiltexceeds a preconfigured limit, the system switches to the precisionmode. Alternatively, the system may use the time interval that thejoystick dwells at the perimeter. Once the time interval reaches apreconfigured limit, the system switches to the precision mode andnotifies the user through a visual cue or a tone. The system may alsoinclude a button for switching to precision mode.

FIG. 6 is a flow diagram illustrating a process for operating thedirectional input system in the precision mode to select an exactletter. The process includes the following steps:

-   -   Step 600: The user switches to precision mode. This is typically        a clicking on a predefined button. However, any of the above        mentioned method can be used.    -   Step 602: The system can optionally zoom in on the area of the        last character entered.    -   Step 604: The user uses directional input to drive an indicator        to the desired character. If the joystick is used for        directional input and if the zoom-in has been employed, then the        system processes joystick movement at a finer resolution. For        example, a radial move of 90° is treated as if it were only 30°.    -   Step 606: The user uses a button to accept the character.    -   Step 608: The system optionally returns to normal directional        text entry mode.

In addition to the preceding methods, the system may determine theprecise letters by detecting the difference in speed of selection orchange in acceleration, especially when the system embodiment is basedon a directional selection means employing a wheel.

In the preferred embodiment above, the directional input system 100 isdeployed to a home video game console machine. However, this technologycan also be deployed to many other products such as portable video gamedevices, phones with the appropriate input methods, wheelchairs, and TVrelated electronic devices, etc. In TV related electronic devices, forexample, the invention may be deployed as set-top boxes and thejoystick/rocker may be incorporated in the remote controls.

FIG. 7 is a flow diagram illustrating a direction input method accordingto another preferred embodiment of the invention. The method includesthe following steps:

-   -   Step 700: The user moves an on-screen cursor in the direction of        the desired letter using a joystick, or any other directional        input means.    -   Step 702: The system records the X-Y coordinate position of the        cursor.    -   Step 704: The system converts recorded X-Y coordinate position        into corresponding set of polar coordinates.    -   Step 706: The system applies a selection weight value to each        input based on the set of polar coordinates of the recorded        cursor position.    -   Step 708: The system retrieves a list of predicted words based        on the weight values for each of input and a set of        pre-determined values.

For internal calculations, the on-screen keyboard 130 may be representedinternally in the same way as the screen using direct mapping.Alternatively, it can be represented in a very different format usingvirtual mapping. The internal representation of keyboards may use anycoordinate system, including but not limited to Polar and Cartesiancoordinate systems.

When the on-screen keyboard 130 is represented internally using a Polarsystem, key positions are set by bounding angles and radial distancefrom the center. In the preferred embodiment, multiple concentriccircles are permitted. The system can accept direct Polar inputs.Alternatively, it can map Cartesian inputs into Polar coordinates beforeperforming calculations.

When the on-screen keyboard 130 is represented internally using aCartesian system, key positions are set by left, right, top, and bottomof a bounding box. The horizontal and vertical positions are relative toone corner, usually top left but can vary by platform and operatingsystem (OS). In the preferred embodiment, multiple rows of keys arepermitted.

The directional input system 100 may also alternate between severalkeyboards for a variety of reasons. Such reasons may include thefollowing: uppercase vs. lowercase letters, alphabets for othersupported languages, extended alphabets for languages with large numbersof letters, diacritics, numbers vs. letters, symbols and punctuation,strokes vs. character components, different alphabets for the samelanguage, function keys, and precision mode for selecting specific exactspell characters.

In another preferred embodiment of the invention, the directional inputsystem 100 also provides a mechanism for changing the keyboard face andthe input directions. The system includes an input means to switch amonga set of system modes. A mode is a combination of keyboard, key-map, andsometimes dictionary. Modes can be used for many things, including butnot limited to entering characters, executing functions, and changingsystem parameters.

In the preferred embodiment, the system may also contain the followingbuttons: Space or Select word, Backspace, Next & Previous word, Next &Previous character, Shift/Caps Lock, and Menu/Mode switch. Each of thesebuttons is mapped to a system function. The functions that can beperformed by buttons include, but are not limited to the following:

-   -   Select: Adding a specified word to the message area and at the        same time clearing out the current word;    -   Next/Previous word: Altering which word is highlighted for        selection;    -   Next/Previous character. Altering the last character entered;    -   Backspace/Delete word: Deleting a character or word;    -   Shift, Caps lock: Altering the case of letters being entered;    -   Undo: Undoing last function or entry;    -   Cut/Copy/Paste: Standard clipboard commands;    -   Escape: Activate/deactivate the directional text input;    -   Toggling Next Lock/Hold;    -   Extend or Add Suffix: Selecting a word and displaying its        possible suffixes or using any additional characters entered to        extend the selected root word;    -   Change to a new Language;    -   Change to a new Keyboard layout;    -   Download/install new language/keyboard layout/program version;        and    -   Toggle Precision mode for Exact Spell.

Some characters that can optionally be entered by buttons include, butare not limited to:

-   -   “Smart Punctuation”, which intuitively determines which        punctuation is most appropriate based on the word context;    -   “Smart Diacritics”, which intuitively determines which diacritic        to be added; and    -   “Smart Tones”, which intuitively determines which tone to be        added to a word for tonal languages, such as Vietnamese.        Alternately, a tone key could display a selection of tones to        add to the current word or last character entered.

The directional input system 100 supports multiple languages. Eachlanguage supported is stored in a separate language database (LDB). Thelanguage database stores words organized by word length and frequency ofuse within the given language. When the system uses case sensitiveletters, the database storage is also case sensitive and thus words arestored in a mixed case format.

The directional input system 100 can optionally support user addedwords. These words are either stored in a separate user database (UDB)or appended to the primary language database (LDB). When a UDB is used,it organizes words by word length and recency of use.

The directional input system 100 can optionally support dynamic wordprediction, where likelihood changes are made either by re-orderingsections of the LDB, or via a recency database (RDB) which is organizedby word length and recency of use.

The final word choice list is retrieved and ordered using the followingtypes of data: word length, ordinal ranking, letter weight, and recentlyused words. Only words that have at least as many letters as the lettersentered are presented. When “Word Completion” is used, longer words maybe presented if they are determined to be likely. Words in the LDB maybe ordered by frequency, most common first, and least common last.

The invention adopts an algorithm which matches the entry sequence toletters of words in the LDB based on their nearness to the point/angleof each entry. For example, the weighting may approximate an inversesquare of the distance from the center of the corresponding letter.Grouping letters for efficiency is an optional, yet preferred feature;it excludes letter matching when the letter is far outside of thesmaller area of adjacent letters surrounding the point/angle of entry. Adetailed description of the algorithm is set further in the copendingapplication, U.S. Ser. No. 09/580,319, filed on May 26, 2000, entitled“KEYBOARD SYSTEM WITH AUTOMATIC CORRECTION”. This detailed descriptionis hereby incorporated by reference.

Each letter in a keyboard group has a relative weight to nearby letters.When one letter is entered, nearby letters are taken into account, andall of these letters are assigned a likelihood weight. The actual letterentered has the highest weight, and the weight decreases with distancefrom the exact letter. These letter weights combine to alter the orderof likely words presented in the word choice list.

Recently used words may be weighted as more frequent, so theirlikelihood is increased and they are shown higher in the word choicelist. Recency information is also used for determining the placement ofuser-defined words in the word choice list.

The directional input system 100 also supports word completion. If thesystem suspects that the letters entered are the beginning part of alonger word, longer words that roughly match are presented in the wordchoice list. Alternatively, the system can present the user a list ofsuffixes for a stem word. If a root word is selected with a “suffixbutton”, a list of suffixes is then displayed at the end of the root,allowing the user to select the suffix of choice.

The directional input system 100 also allows the user to select apartial word while still building a word. The list is then filtered toonly include words that begin with the chosen word stem. If a userscrolls down to an alternate word, and then adds more letters, thisalternate word continues to be the selection, highlighted by the methoddiscussed above, until it becomes invalid by further addition ofcharacters.

Although the invention is described herein with reference to thepreferred embodiment, one skilled in the art will readily appreciatethat other applications may be substituted for those set forth hereinwithout departing from the spirit and scope of the present invention.

Accordingly, the invention should only be limited by the Claims includedbelow.

1. A system for facilitating operations for text entry, the systemcomprising: a directional input tool having a mapping between differentactual radial directions and different text characters, said directionalinput tool configured to use for sequentially pointing in an intendedradial direction toward intended characters of at least part of anintended word; a determining processor configured for determiningangular similarity between each actual pointing direction and radialdirections of different characters in the mapping, for using thedetermined angular similarity to compute different possible combinationsof intended characters that could form the intended word, and forpresenting a list of potential matching words, where the presentationfavors potential matching words according to factors including anaggregate angular similarity of constituent characters of a potentialmatching word to the actual pointing directions; a selecting processorfor selecting the intended word from the list; and a displayingprocessor for displaying the selected word in a human-readable messagecomposition display area.
 2. A computer-implemented method forfacilitating operations for text entry, the method comprising: by usinga directional input tool having a mapping between different actualradial directions and different text characters, sequentially pointingin an intended radial direction toward intended characters of at leastpart of an intended word; determining, by a determining processor,angular similarity between each actual pointing direction and radialdirections of different characters in the mapping, using the determinedangular similarity to compute different possible combinations ofintended characters that could form the intended word, and presenting alist of potential matching words, where the presentation favorspotential matching words according to factors including an aggregateangular similarity of constituent characters of a potential matchingword to the actual pointing directions; selecting, by a selectingprocessor, the intended word from the list; and displaying, by adisplaying processor, the selected word in a human-readable messagecomposition display area.
 3. A computer-readable storage medium storinginstructions which, when executed by one or more processors, cause theone or more processors to carry out the steps of: by using a directionalinput tool having a mapping between different actual radial directionsand different text characters, sequentially pointing in an intendedradial direction toward intended characters of at least part of anintended word; determining angular similarity between each actualpointing direction and radial directions of different characters in themapping, using the determined angular similarity to compute differentpossible combinations of intended characters that could form theintended word, and presenting a list of potential matching words, wherethe presentation favors potential matching words according to factorsincluding an aggregate angular similarity of constituent characters of apotential matching word to the actual pointing directions; selecting theintended word from the list; and displaying the selected word in ahuman-readable message composition display area.